Git教程 Git Bash详细教程 |
您所在的位置:网站首页 › github 运行代码 › Git教程 Git Bash详细教程 |
作为一个萌新,最近在学怎么用github,我翻遍了网上的Git Bash教程,可能因为我理解力比较差,经常看不懂教程上在说什么。 让我一度感觉自己是个傻子。最终 (。-`ω´-)我决定自己一边摸索,一边记录,写教程造福那些理解力跟我一样差的人…… 文章目录 1 下载安装2 设置用户3 本地文件夹的操作3.1 进入文件夹3.2 查看3.3 退出文件夹3.4 新建、删除 4 仓库设置4.1 初始化本地仓库4.2 新建远程仓库4.3 建立连接4.4 文件上传4.5 文件下拉4.5 文件克隆4.6 git pull 和 git clone的区别这个主要介绍Git Bash的使用教程。 1 下载安装首先抛一个Windows用户的下载链接:Git for windows 下载下来之后直接安装,除了下图选第一个,其他的不用改,直接next就行。 选这个use git from git bash only 下载之后打开是这个样子的,第一件事设置用户。注意这个不是登录哦,是给你的电脑设置一个用户,等你上传的时候,告诉远程仓库是谁上传的而已。 git config --global user.name "Your Name"(注意前边是“- -global”,有两个横线) git config --global user.email "[email protected]" 首先你可以试着打开你本地仓库的文件夹。 比如我要打开E:\code有两种方法 直接在电脑上打开那个文件夹,然后在文件夹空白处右键选择Git Bash here 在Git Bash中输入路径 注意! 使用cd命令进入到目录中时,在Git-Bash中应该使用斜线”/”, 而不是反斜线”\” ①可以逐个输入文件夹名(在文件夹名称前要加cd ) ![]() ![]() 当然你也可能进错文件夹,要学会回退。 $ cd .. 点和cd之间有空格 就可以回退到上一个文件夹。 $ mkdir +文件夹名字 只能新建文件夹 我在E盘的code文件夹下新建一个front-end文件夹。建完之后打开文件夹看看创建成功了嗷。 $ rm 文件名.文件类型 删除文件 你既然学git,那就是想要把本地的代码放到远程仓库托管。 托管就是,代码是小朋友,你就是他父母,你把它丢到托儿所,让托儿所帮你管。怎么去托儿所,总不能一生下来就在托儿所。你得把孩子从家里送过去吧。放学了你得把孩子接回来吧。(当然这个例子不太恰当。) 那你需要一个本地存储代码的地方(家里),你还需要一个远程仓库(托儿所) 4.1 初始化本地仓库进入到你想建立本地仓库的文件夹,它可以是空的,你建好了之后再写代码。里边也可以有东西,直接建就好。 $ git init 我用个空文件夹做示范:E:\code\front-end 打开github右上角,点击new repository 孩子在家里,你能用意念让他直接飞到托儿所吗,显然不可能,那你总得把他送过去,或者用校车之类的吧。 那现在就得想办法建立远程仓库和本地仓库的连接。 4.3.1 配置SSH,给孩子联系好校车。 ヽ(・ω・。)ノ点击进入《SSH Key配置教程》 4.3.2 配置完SSH,你就可以使用SSH连接了。 注意,你是仓库的主人你才能使用SSH连接,如果你不是仓库主人,只是某个项目的成员,那你只能使用HTTPS连接。 不管使用哪一种连接方式,都是一样操作,现在我就用SSH链接了。复制红框框里的代码。 4.3.4 添加之后没有任何提示,如果你想确定是否成功了,你可以再输一遍,这时候他会提示你刚才已经设置过了。 4.4.1 git add 将修改的文件添加暂存区,也就是将要提交的文件的信息添加到索引库中。(看不懂没关系,现在来说这个不重要)。 什么是修改的文件,你新建、更改、删除文件都是修改。 git add有好多种。下边我介绍一下,看看就行,对现在来说记住最后一条就可以了: $ git add +文件名.文件类型 ,将某个文件加到缓存区$ git add +文件名.文件类型 ... 文件名.文件类型 ,将n个文件添加到缓存区$ git add xx文件夹/*.html,将xx文件夹下的所有的html文件添加到缓存区。$ git add *hhh ,将以hhh结尾的文件的所有修改添加到暂存区$ git add Hello* ,将所有以Hello开头的文件的修改添加到暂存区git add -u ,提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)git add .,提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件…git add -A,提交所有变化。git add前几条都可以记不住,这个必须记住!!!
4.4.2 git commit 将当前暂存区的文件实际保存到仓库的历史记录中(看不懂没关系,现在来说这个不重要)。你现在可以简单的理解为给你刚才add的东西加一个备注,你上传到远程仓库之后,修改的文件后边会显示这个备注 $ git commit -m "修改注释"
现在你去网页版刷新一下,就可以看到你本地仓库的东西都在那里了。并且文件后边写着你在commit步骤中添加的注释。 ![]() 推完之后看看你的远程仓库,文件名改了,文件名后边的注释也是我第二次commit的注释。上边有个commit选项, $ git commit --amend的作用: github不管你做错了啥,他都会给你保存的,就是即使你改了,你的错误记录永远存在!但是使用git commit --amend,你可以神不知鬼不觉悄咪咪修改你的错误commit注释,╭(●`∀´●)╯只有天知地知你知。 push时候报错: github你可以理解为差额备份,就是你本地提交上去之后,它备份起来。你本地修改了,它会对你修改的部分继续备份。也就是说在你这次修改之前,本地仓库应该和远程仓库一模一样。 但是我刚才强行修改了上次的commit注释信息。现在本地仓库里; 上次的commit是“新建了readme”, 使用git log看一下,本地仓库上次的提交注释确实是改变了。![]() 我修改的是上次的commit,所以我这次推的时候github就认为这次修改之前的本地仓库和远程仓库不一样,因此就会报错说我数据冲突。 4.5 文件下拉上边push报错,我自己知道数据差在哪里,所以使用了强制推送。但是在团队合作中,push报错,那铁定是你队友修改了远程仓库,如果你再强制上传,那你就是毁了你队友的代码。所以如何保证在你修改之前,自己的文件跟远程仓库一致呢。 方法1: $ git pull 仓库名称 尝试一下 比如我现在跑到我的远程仓库修改了readme: 点要修改的文件,进去之后点击编辑。![]() ![]() ![]() ![]() ![]() ![]() 方法2: $ git fetch + $ git merge 尝试一下, 这次我又在远程仓库加一行字![]() ![]() ![]() 我在提示一下,我在fetch之后,不止没有修改本地文件,就连git log也没显示我下拉文件了,但是merge之后就都显示了。我们可以认为 pull = fetch+merge。git fetch 并没更改本地仓库的代码,只是拉取了远程数据,git merge才执行合并数据。 回想一下你刚才是怎么push到远程的 git add添加到上传缓存区git commit给缓存区的内容添加备注,此时本地的commit修改啦,但是远程的commit和文件都没修改。git push 修改远程文件和commit信息而你下拉文件过程 git fetch 将数据拉下来,但是没修改本地的commit和文件git merge 改变本地数据 4.5 文件克隆下拉仓库学会了,那克隆呢? 我现在有一个完整仓库,点击右边的绿色按钮。 仓库是你自己的,你就使用SSH连接,不是你自己的,你没权限你就切换到HTTPS,再复制地址。 它克隆下来是一个文件夹,你想把文件夹放哪里就在哪打开gitbash $ git clone 加上你刚才的地址 git pull 和 git clone的区别 我是萝莉Ann, 梦想是当个程序媛。(●´∀`)♪永不服输! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |